package com.ciaojian.core.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.ciaojian.core.enums.business.WorkerStatusEnum;
import com.ciaojian.core.enums.business.WorkerTypeEnum;
import com.ciaojian.core.enums.business.WorkerWorkerStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.util.Date;

/**
 * 发型师
 *
 * @author Atlakyn
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("d_worker")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Worker extends Model<Worker> {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("发型师名称")
    @TableField("`name`")
    private String name;

    private String nameEn;

    private String avatar;

    @ApiModelProperty("发型师手机号")
    private String telphone;

    private String username;

    @TableField("`password`")
    private String password;

    @ApiModelProperty("店员联系 0店员 1店长 2试用期")
    private WorkerTypeEnum type;

    @TableField("store_id")
    private Integer storeId;

    @ApiModelProperty("门店名称")
    private String storeName;

    @ApiModelProperty("移除状态")
    private Boolean isRemove;

    @ApiModelProperty("在职状态")
    private Integer status;

    private String province;
    private String city;
    private String cityCode;
    private double salaryProbation;
    private double salary;
    private Date probationTime;

    @ApiModelProperty("入职时间")
    private Date joinTime;
    private Date leaveTime;
    private Date birth;
    private String personType;
    private String idcard;
    private String idcardAddressCode;
    private String idcardAddress;
    private String idcardAddressDetail;
    private String education;
    private String marry;
    private String social;
    private Date healthExpire;
    private String bankName;
    private String bankNumber;
    private double socialCom;
    private double socialPerson;
    private double accumulationCom;
    private double accumulationPeson;

    private String eatTime;

    private java.sql.Date contractExpire;
    private String sex;
    private String homeAddress;
    private String homeAddressCode;
    private String homeAddressDetail;
    private String linkmanName;
    private String linkmanTelphone;
    private String joinStep;
    private String seniority;
    private String openid;
    private String unionid;
    private String nickName;

    @ApiModelProperty("头像图片地址")
    private String avatarUrl;

    @ApiModelProperty("工作状态")
    private WorkerWorkerStatusEnum workerStatus;
    private Integer aboutTime;
    private String rankPerfix;
    private String fugoulv;
    private Integer fugoulvExpire;
    private double vacation;
    private double addPrice;
    private String addPriceService;
    private String sessionId;

    @ApiModelProperty("发型师等级 1高级 2资深 3星级")
    private Integer levelId;
    private String levelTitle;

    @TableField(exist = false)
    private Store store;

    private Integer eatTimeId;

    /**
     * 是否机动组成员
     */
    private Boolean motor;


}
